\hypertarget{sift_8h}{
\section{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/sift.h File Reference}
\label{sift_8h}\index{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/sift.h@{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/sift.h}}
}
{\ttfamily \#include \char`\"{}cxcore.h\char`\"{}}\par
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structdetection__data}{detection\_\-data}
\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{sift_8h_a19f3e70f0f896ab32a10ba077f9e7c4c}{SIFT\_\-INTVLS}~3
\item 
\#define \hyperlink{sift_8h_a94631e7c4450c2e5b17537fdcd0c8c0e}{SIFT\_\-SIGMA}~1.6
\item 
\#define \hyperlink{sift_8h_ae1ef6659f1f7745f2dbd172290f3c9a7}{SIFT\_\-CONTR\_\-THR}~0.04
\item 
\#define \hyperlink{sift_8h_af628c36786ebd0447914599222e3f4a6}{SIFT\_\-CURV\_\-THR}~10
\item 
\#define \hyperlink{sift_8h_ae194d6044a398e670e4b3a8a3ff471ef}{SIFT\_\-IMG\_\-DBL}~1
\item 
\#define \hyperlink{sift_8h_a82abba99c2beb3585d449dce8dd7e0bf}{SIFT\_\-DESCR\_\-WIDTH}~4
\item 
\#define \hyperlink{sift_8h_a6a12fa45503d7dc95042ab6738f554d2}{SIFT\_\-DESCR\_\-HIST\_\-BINS}~8
\item 
\hypertarget{sift_8h_a3d7352f1515aa7325f042d6afcd98ea9}{
\#define {\bfseries SIFT\_\-INIT\_\-SIGMA}~0.5}
\label{sift_8h_a3d7352f1515aa7325f042d6afcd98ea9}

\item 
\hypertarget{sift_8h_a50310bca391fed05095fa59f70f59baf}{
\#define {\bfseries SIFT\_\-IMG\_\-BORDER}~5}
\label{sift_8h_a50310bca391fed05095fa59f70f59baf}

\item 
\hypertarget{sift_8h_a672da8aa15d7200825709eda734c5a36}{
\#define {\bfseries SIFT\_\-MAX\_\-INTERP\_\-STEPS}~5}
\label{sift_8h_a672da8aa15d7200825709eda734c5a36}

\item 
\hypertarget{sift_8h_a9f8316691f72047eebe00df7a6da3162}{
\#define {\bfseries SIFT\_\-ORI\_\-HIST\_\-BINS}~36}
\label{sift_8h_a9f8316691f72047eebe00df7a6da3162}

\item 
\hypertarget{sift_8h_a4f132194f0782a2b1374bd1f5dea25b8}{
\#define {\bfseries SIFT\_\-ORI\_\-SIG\_\-FCTR}~1.5}
\label{sift_8h_a4f132194f0782a2b1374bd1f5dea25b8}

\item 
\hypertarget{sift_8h_a284e5a1c52c91388aebff641f2048ced}{
\#define {\bfseries SIFT\_\-ORI\_\-RADIUS}~3.0 $\ast$ SIFT\_\-ORI\_\-SIG\_\-FCTR}
\label{sift_8h_a284e5a1c52c91388aebff641f2048ced}

\item 
\hypertarget{sift_8h_a5dc236d694ce7df4c30d6491a8976559}{
\#define {\bfseries SIFT\_\-ORI\_\-SMOOTH\_\-PASSES}~2}
\label{sift_8h_a5dc236d694ce7df4c30d6491a8976559}

\item 
\hypertarget{sift_8h_a876d7b0cb7dc48e3e0cdb2a21c9d1c22}{
\#define {\bfseries SIFT\_\-ORI\_\-PEAK\_\-RATIO}~0.8}
\label{sift_8h_a876d7b0cb7dc48e3e0cdb2a21c9d1c22}

\item 
\hypertarget{sift_8h_add42857da8e9a94133a1cdd67d5e2ca4}{
\#define {\bfseries SIFT\_\-DESCR\_\-SCL\_\-FCTR}~3.0}
\label{sift_8h_add42857da8e9a94133a1cdd67d5e2ca4}

\item 
\hypertarget{sift_8h_accd3631ac9f5d7b3586e057c0616ac6d}{
\#define {\bfseries SIFT\_\-DESCR\_\-MAG\_\-THR}~0.2}
\label{sift_8h_accd3631ac9f5d7b3586e057c0616ac6d}

\item 
\hypertarget{sift_8h_a14774e352bace67ce7315b1c89b3fee8}{
\#define {\bfseries SIFT\_\-INT\_\-DESCR\_\-FCTR}~512.0}
\label{sift_8h_a14774e352bace67ce7315b1c89b3fee8}

\item 
\hypertarget{sift_8h_a8eba1b51a4d469ff370f6a32d82cb694}{
\#define {\bfseries feat\_\-detection\_\-data}(f)~( (struct \hyperlink{structdetection__data}{detection\_\-data}$\ast$)(f-\/$>$feature\_\-data) )}
\label{sift_8h_a8eba1b51a4d469ff370f6a32d82cb694}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{sift_8h_ab38678735e475d5f9ee393681298064b}{sift\_\-features} (IplImage $\ast$img, struct \hyperlink{structfeature}{feature} $\ast$$\ast$feat)
\item 
int \hyperlink{sift_8h_a2fa4531923bf71c51c7b27c4728a18d7}{\_\-sift\_\-features} (IplImage $\ast$img, struct \hyperlink{structfeature}{feature} $\ast$$\ast$feat, int intvls, double sigma, double contr\_\-thr, int curv\_\-thr, int img\_\-dbl, int descr\_\-width, int descr\_\-hist\_\-bins)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions for detecting SIFT image features.

For more information, refer to:

Lowe, D. Distinctive image features from scale-\/invariant keypoints. {\itshape International Journal of Computer Vision, 60\/}, 2 (2004), pp.91-\/-\/110.

Copyright (C) 2006 Rob Hess $<$\href{mailto:hess@eecs.oregonstate.edu}{\tt hess@eecs.oregonstate.edu}$>$ Note: The SIFT algorithm is patented in the United States and cannot be used in commercial products without a license from the University of British Columbia. For more information, refer to the file LICENSE.ubc that accompanied this distribution.

\begin{DoxyVersion}{Version}
1.1.1-\/20070913 
\end{DoxyVersion}


\subsection{Define Documentation}
\hypertarget{sift_8h_ae1ef6659f1f7745f2dbd172290f3c9a7}{
\index{sift.h@{sift.h}!SIFT\_\-CONTR\_\-THR@{SIFT\_\-CONTR\_\-THR}}
\index{SIFT\_\-CONTR\_\-THR@{SIFT\_\-CONTR\_\-THR}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-CONTR\_\-THR}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-CONTR\_\-THR~0.04}}
\label{sift_8h_ae1ef6659f1f7745f2dbd172290f3c9a7}
default threshold on keypoint contrast $|$D(x)$|$ \hypertarget{sift_8h_af628c36786ebd0447914599222e3f4a6}{
\index{sift.h@{sift.h}!SIFT\_\-CURV\_\-THR@{SIFT\_\-CURV\_\-THR}}
\index{SIFT\_\-CURV\_\-THR@{SIFT\_\-CURV\_\-THR}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-CURV\_\-THR}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-CURV\_\-THR~10}}
\label{sift_8h_af628c36786ebd0447914599222e3f4a6}
default threshold on keypoint ratio of principle curvatures \hypertarget{sift_8h_a6a12fa45503d7dc95042ab6738f554d2}{
\index{sift.h@{sift.h}!SIFT\_\-DESCR\_\-HIST\_\-BINS@{SIFT\_\-DESCR\_\-HIST\_\-BINS}}
\index{SIFT\_\-DESCR\_\-HIST\_\-BINS@{SIFT\_\-DESCR\_\-HIST\_\-BINS}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-DESCR\_\-HIST\_\-BINS}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-DESCR\_\-HIST\_\-BINS~8}}
\label{sift_8h_a6a12fa45503d7dc95042ab6738f554d2}
default number of bins per histogram in descriptor array \hypertarget{sift_8h_a82abba99c2beb3585d449dce8dd7e0bf}{
\index{sift.h@{sift.h}!SIFT\_\-DESCR\_\-WIDTH@{SIFT\_\-DESCR\_\-WIDTH}}
\index{SIFT\_\-DESCR\_\-WIDTH@{SIFT\_\-DESCR\_\-WIDTH}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-DESCR\_\-WIDTH}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-DESCR\_\-WIDTH~4}}
\label{sift_8h_a82abba99c2beb3585d449dce8dd7e0bf}
default width of descriptor histogram array \hypertarget{sift_8h_ae194d6044a398e670e4b3a8a3ff471ef}{
\index{sift.h@{sift.h}!SIFT\_\-IMG\_\-DBL@{SIFT\_\-IMG\_\-DBL}}
\index{SIFT\_\-IMG\_\-DBL@{SIFT\_\-IMG\_\-DBL}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-IMG\_\-DBL}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-IMG\_\-DBL~1}}
\label{sift_8h_ae194d6044a398e670e4b3a8a3ff471ef}
double image size before pyramid construction? \hypertarget{sift_8h_a19f3e70f0f896ab32a10ba077f9e7c4c}{
\index{sift.h@{sift.h}!SIFT\_\-INTVLS@{SIFT\_\-INTVLS}}
\index{SIFT\_\-INTVLS@{SIFT\_\-INTVLS}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-INTVLS}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-INTVLS~3}}
\label{sift_8h_a19f3e70f0f896ab32a10ba077f9e7c4c}
default number of sampled intervals per octave \hypertarget{sift_8h_a94631e7c4450c2e5b17537fdcd0c8c0e}{
\index{sift.h@{sift.h}!SIFT\_\-SIGMA@{SIFT\_\-SIGMA}}
\index{SIFT\_\-SIGMA@{SIFT\_\-SIGMA}!sift.h@{sift.h}}
\subsubsection[{SIFT\_\-SIGMA}]{\setlength{\rightskip}{0pt plus 5cm}\#define SIFT\_\-SIGMA~1.6}}
\label{sift_8h_a94631e7c4450c2e5b17537fdcd0c8c0e}
default sigma for initial gaussian smoothing 

\subsection{Function Documentation}
\hypertarget{sift_8h_a2fa4531923bf71c51c7b27c4728a18d7}{
\index{sift.h@{sift.h}!\_\-sift\_\-features@{\_\-sift\_\-features}}
\index{\_\-sift\_\-features@{\_\-sift\_\-features}!sift.h@{sift.h}}
\subsubsection[{\_\-sift\_\-features}]{\setlength{\rightskip}{0pt plus 5cm}int \_\-sift\_\-features (IplImage $\ast$ {\em img}, \/  struct {\bf feature} $\ast$$\ast$ {\em feat}, \/  int {\em intvls}, \/  double {\em sigma}, \/  double {\em contr\_\-thr}, \/  int {\em curv\_\-thr}, \/  int {\em img\_\-dbl}, \/  int {\em descr\_\-width}, \/  int {\em descr\_\-hist\_\-bins})}}
\label{sift_8h_a2fa4531923bf71c51c7b27c4728a18d7}
Finda SIFT features in an image using user-\/specified parameter values. All detected features are stored in the array pointed to by {\itshape feat\/}.


\begin{DoxyParams}{Parameters}
\item[{\em img}]the image in which to detect features \item[{\em feat}]a pointer to an array in which to store detected features \item[{\em intvls}]the number of intervals sampled per octave of scale space \item[{\em sigma}]the amount of Gaussian smoothing applied to each image level before building the scale space representation for an octave \item[{\em contr\_\-thr}]a threshold on the value of the scale space function $\left|D(\hat{x})\right|$, where $\hat{x}$ is a vector specifying \hyperlink{structfeature}{feature} location and scale, used to reject unstable features; assumes pixel values in the range \mbox{[}0, 1\mbox{]} \item[{\em curv\_\-thr}]threshold on a feature's ratio of principle curvatures used to reject features that are too edge-\/like \item[{\em img\_\-dbl}]should be 1 if image doubling prior to scale space construction is desired or 0 if not \item[{\em descr\_\-width}]the width, $n$, of the $n \times n$ array of orientation histograms used to compute a feature's descriptor \item[{\em descr\_\-hist\_\-bins}]the number of orientations in each of the histograms in the array used to compute a feature's descriptor\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of keypoints stored in {\itshape feat\/} or -\/1 on failure 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{sift_8h_ab38678735e475d5f9ee393681298064b}{sift\_\-features()}
\end{DoxySeeAlso}
Finds SIFT features in an image using user-\/specified parameter values. All detected features are stored in the array pointed to by {\itshape feat\/}.


\begin{DoxyParams}{Parameters}
\item[{\em img}]the image in which to detect features \item[{\em fea}]a pointer to an array in which to store detected features \item[{\em intvls}]the number of intervals sampled per octave of scale space \item[{\em sigma}]the amount of Gaussian smoothing applied to each image level before building the scale space representation for an octave \item[{\em cont\_\-thr}]a threshold on the value of the scale space function $\left|D(\hat{x})\right|$, where $\hat{x}$ is a vector specifying \hyperlink{structfeature}{feature} location and scale, used to reject unstable features; assumes pixel values in the range \mbox{[}0, 1\mbox{]} \item[{\em curv\_\-thr}]threshold on a feature's ratio of principle curvatures used to reject features that are too edge-\/like \item[{\em img\_\-dbl}]should be 1 if image doubling prior to scale space construction is desired or 0 if not \item[{\em descr\_\-width}]the width, $n$, of the $n \times n$ array of orientation histograms used to compute a feature's descriptor \item[{\em descr\_\-hist\_\-bins}]the number of orientations in each of the histograms in the array used to compute a feature's descriptor\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of keypoints stored in {\itshape feat\/} or -\/1 on failure 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
sift\_\-keypoints() 
\end{DoxySeeAlso}
\hypertarget{sift_8h_ab38678735e475d5f9ee393681298064b}{
\index{sift.h@{sift.h}!sift\_\-features@{sift\_\-features}}
\index{sift\_\-features@{sift\_\-features}!sift.h@{sift.h}}
\subsubsection[{sift\_\-features}]{\setlength{\rightskip}{0pt plus 5cm}int sift\_\-features (IplImage $\ast$ {\em img}, \/  struct {\bf feature} $\ast$$\ast$ {\em feat})}}
\label{sift_8h_ab38678735e475d5f9ee393681298064b}
Finds SIFT features in an image using default parameter values. All detected features are stored in the array pointed to by {\itshape feat\/}.


\begin{DoxyParams}{Parameters}
\item[{\em img}]the image in which to detect features \item[{\em feat}]a pointer to an array in which to store detected features\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of features stored in {\itshape feat\/} or -\/1 on failure 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{sift_8h_a2fa4531923bf71c51c7b27c4728a18d7}{\_\-sift\_\-features()} 
\end{DoxySeeAlso}
